<%@page import="com.are.entidades.Causal"%>
<%@page import="com.are.entidades.Producto"%>
<%@page import="com.are.entidades.OrdenInstalacion"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ include file="validausuario.jsp"%>
<%@ page import="com.are.odisea.*"%>
<%@ page import="com.are.manejadores.*"%>
<%
	db conexion = new db();
	String codigo = (String)request.getParameter("codigo");
	
	GestionUsuario gu = new GestionUsuario(conexion);
	String usuario = (String) session.getAttribute("usuario");
	if (!gu.Find(usuario)) {
		response.sendRedirect("index.jsp");
		return;
	}

	Usuario user = gu.getUser();
	String personal = user.getPersonal();
	OrdenInstalacion orden = new OrdenInstalacion();
	boolean encontrada = false;
	
	if (!personal.equals("-1")) {
		ManejadorInstalacion MI = new ManejadorInstalacion(conexion);
		if (MI.FindOrdenAsignada(codigo, personal)) {
			encontrada = true;
			orden = MI.getOrden();
		}
	}
	
	session.setAttribute("consumos",null);
	session.setAttribute("seriales",null);
	ManejadorProductos MP = new ManejadorProductos(conexion);
	ManejadorCausales MC = new ManejadorCausales(conexion);
	ArrayList<Producto> productos = MP.List(orden.getFamilia());
	ArrayList<Causal> causales = MC.List();
	int fila =1 ;
	
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Resolver Orden de Instalacion <%= orden.getOrden() %></title>
<link rel="stylesheet" href="themes/redmond/jquery.ui.all.css">
<LINK REL="stylesheet" TYPE="text/css" HREF="main.css">
<script src="js/jquery.js" language="JavaScript"></script>
<script src="ui/jquery.ui.core.js" language="JavaScript"></script>
<script src="ui/jquery.ui.widget.js" language="JavaScript"></script>
<script src="ui/jquery.ui.button.js"></script>

<script type="text/javascript">
$(function() {
	$( "input:submit, a, button", ".demo" ).button();
	$( "input:button, a, button", ".demo" ).button();
});
</script>

<script type="text/javascript">
function buscar_causal(producto) {
	url = "BuscarTipoReparacion.jsp?producto=" + producto;
	window.open(url , "BuscarTipoReparacion" , "width=600,height=500,scrollbars=YES,menubar=No,toolbar=NO,status=YES"); 
}

function buscar_material(cedula) {
	url = "BuscarStock.jsp?cedula=" + cedula;
	window.open(url , "BuscarStock" , "width=800,height=400,scrollbars=YES,menubar=No,toolbar=NO,status=YES"); 
}
function buscar_serial(cedula) {
	url = "BuscarSerial.jsp?cedula=" + cedula;
	window.open(url , "BuscarStock" , "width=800,height=400,scrollbars=YES,menubar=No,toolbar=NO,status=YES"); 
}
function lista_materiales() {
	var url = "SrvConsumoOrden?operacion=list";
	$("#materiales").load(url, function() {
		$( "input:button, a, button", ".demo" ).button();
	});
}
function lista_seriales() {
	var url = "SrvSerialOrden?operacion=list";
	$("#seriales").load(url, function () {
		$( "input:button, a, button", ".demo" ).button();
	});
}

function EliminarMaterial(id) {
	$.post("SrvConsumoOrden",{
		operacion: "remove",
		id: id
	},procesarEliminarMaterial);
}
function procesarEliminarMaterial(resultado) {
	if (resultado == "OK") {
		alert("Item eliminado correctamente");
		lista_materiales();
	}else {
		alert(resultado);
	}
}
function EliminarSerial(id) {
	$.post("SrvSerialOrden",{
		operacion: "remove",
		id: id
	},procesarEliminarSerial);
}
function procesarEliminarSerial(resultado) {
	if (resultado == "OK") {
		alert("Item eliminado correctamente");
		lista_seriales();
	}else {
		alert(resultado);
	}
}

function RemoveAll() {
	$.post("SrvConsumoOrden",{
		operacion: "removeAll"},procesarRemoveAll);
}
function procesarRemoveAll(resultado) {
	if (resultado == "OK") {
		alert("Items eliminados correctamente");
		lista_materiales();
	}else {
		alert(resultado);
	}
}
function RemoveAllSeriales() {
	$.post("SrvSerialOrden",{
		operacion: "removeAll"},procesarRemoveAllSeriales);
}
function procesarRemoveAllSeriales(resultado) {
	if (resultado == "OK") {
		alert("Items eliminados correctamente");
		lista_seriales();
	}else {
		alert(resultado);
	}
}
function Resolver(orden,cedula,departamento) {
	
	var observacion = $("#observacion").val();
	var ticket = $("#ticket").val();
	var operador = $("#operador").val();
	
	if (observacion == "" || ticket == "" || operador == "") {
		alert("Faltan datos");
		return;
	}

	
	if ($(".select_accion").length == 0 ) {
		alert("No hay productos para reportar");
		return;
	}
	var contador = 0;
	$(".select_accion").each(function() {
	    var valor = $(this).val();
	    if (valor == "-1") {
	    	contador++;
	    }
	    
	}); 
	
	if (contador > 0) {
		alert("Debe escoger una accion por cada producto");
		return ;
	}
	
	 var url = "SrvResolverOrden?";
	 var cad = "";
	 var producto = new Array();
	 var accion = new Array();
	 var causal = new Array();
	 
	 $("input[name='producto[]']").each(function() {
		    var valor = $(this).val();
		    cad = "producto=" + valor;
		    producto.push(cad);
		}); 
	 
	 $("select[name='accion[]']").each(function() {
		    var valor = $(this).val();
		    cad = "accion=" + valor;
		    accion.push(cad);
		}); 
	 
	 $("select[name='causal[]']").each(function() {
		    var valor = $(this).val();
		    cad = "causal=" + valor;
		    causal.push(cad);
		}); 
	 
	 if (producto.length != accion.length || producto.length != causal.length) {
		 alert("Error al procesar los productos");
		 return ;
	 }
	 
	 var pasa = true;
	 for (var x=0; x <accion.length; x++) {
		 if (accion[x] == "accion=0") {
			 if (causal[x] == "causal=") {
				 pasa = false;
				 break;
			 }
		 }
	 }
	 if (!pasa) {
		 alert("Falta seleccionar la causal de quiebre");
		 return ;
	 }
	 
	 
	cad = producto.join("&") + "&" + accion.join("&") + "&" + causal.join("&") ;
		
	url += cad;
	

	
	
	if (!confirm("Esta seguro de resolver la orden de servicio?")) {
		return;
	}
	
	$.post(url, {
		operacion: "instalacion",
		orden: orden,
		cedula: cedula,
		observacion: observacion,
		ticket : ticket,
		operador : operador,
		departamento: departamento
	},procesarResolver);
}

function procesarResolver(resultado) {
	if (resultado == "OK") {
		alert("Orden resuelta correctamente");
		window.location.href = "asignadas_instalacion.jsp";
	}else {
		alert(resultado);
	}
}


</script>
<script>
			var modal = (function(){
				var 
				method = {},
				$overlay,
				$modal,
				$content,
				$close;

				// Center the modal in the viewport
				method.center = function () {
					var top, left;

					top = Math.max($(window).height() - $modal.outerHeight(), 0) / 2;
					left = Math.max($(window).width() - $modal.outerWidth(), 0) / 2;

					$modal.css({
						top:top + $(window).scrollTop(), 
						left:left + $(window).scrollLeft()
					});
				};

				// Open the modal
				method.open = function (settings) {
					$content.empty().append(settings.content);

					$modal.css({
						width: settings.width || 'auto', 
						height: settings.height || 'auto'
					});

					method.center();
					$(window).bind('resize.modal', method.center);
					$modal.show();
					$overlay.show();
				};

				// Close the modal
				method.close = function () {
					$modal.hide();
					$overlay.hide();
					$content.empty();
					$(window).unbind('resize.modal');
				};

				// Generate the HTML and add it to the document
				$overlay = $('<div id="overlay"></div>');
				$modal = $('<div id="modal"></div>');
				$content = $('<div id="content"></div>');
				$close = $('<a id="close" href="#">close</a>');

				$modal.hide();
				$overlay.hide();
				$modal.append($content, $close);

				$(document).ready(function(){
					$('body').append($overlay, $modal);						
				});

				$close.click(function(e){
					e.preventDefault();
					method.close();
				});

				return method;
			}());

			// Wait until the DOM has loaded before querying the document
			$(document).ready(function(){
					modal.open({content: "Recuerda hacer un buen trabajo, con calidad y vocacion de servicio.  Tu nos representas ante nuestros clientes"});
			});
		</script>

</head>
<body onload="javascript:lista_materiales();lista_seriales();">
<%@include file="header.jsp"%>
<div class="contencenter demo">
<h2><img src="images/mantenimiento.png" />Resolver Orden de Instalacion</h2>
<% if (!personal.equals("-1")) { %>
<% if (encontrada) { %>
<table>
	<tr>
		<th colspan="4">Informacion Orden de servicio</th>
	</tr>
	<tr class="odd">
		<td><strong>Orden</strong></td>
		<td><%= orden.getOrden() %></td>
		<td><strong>Familia</strong></td>
		<td><%= orden.getFamilia() %></td>
	</tr>
	<tr>
		<td><strong>Departamento</strong></td>
		<td><%= orden.getNombreDepartamento() %></td>
		<td><strong>Ciudad</strong></td>
		<td><%= orden.getNombreLocalidad() %></td>
	</tr>
	<tr class="odd">	
		<td><strong>Direccion</strong></td>
		<td><%= orden.getDireccion() %>  <%= orden.getBarrio() %></td>
		<td><strong>Cliente</strong></td>
		<td><%= orden.getCliente() %></td>
	</tr>
	<tr>
		<td><strong>Segmento</strong></td>
		<td><%= orden.getSegmento() %></td>
		<td><strong>Subsegmento</strong></td>
		<td><%= orden.getSubsegmento() %></td>
	</tr>
	<tr class="odd">
		<td><strong>Fecha Orden</strong></td>
		<td><%= orden.getFechaOrden() %></td>
		<td><strong>Fecha Visita</strong></td>
		<td><%= orden.getFechaVisita() %></td>
	</tr>
	<tr>
		<td><strong>Telefono Contacto</strong></td>
		<td><%= orden.getTelefonoContacto() %></td>
		<td><strong>Numero de abonado</strong></td>
		<td><%= orden.getAbonado() %></td>
	</tr>
	<tr class="odd">
		<td><strong>Central</strong></td>
		<td><%= orden.getCentral() %></td>
		<td><strong>Distribuidor</strong></td>
		<td><%= orden.getDistribuidor() %></td>
	</tr>
	<tr>
		<td><strong>Armario</strong></td>
		<td><%= orden.getArmario() %></td>
		<td><strong>Caja/Parcaja</strong></td>
		<td><%= orden.getCaja() %> - <%= orden.getParCaja() %></td>
	</tr>
	<tr class="odd">
		<td><strong>Listo/ParListon</strong></td>
		<td><%= orden.getListon() %> - <%= orden.getParListon() %></td>
		<td><strong>POST/ADSL</strong></td>
		<td>(<%= orden.getPost() %>)  (<%= orden.getAdsl() %>)</td>
	</tr>
</table>
<form name="form1" action="">
<table>	
	<tr>
		<th colspan="4"><center>INFORMACION RESOLVER</center></th>
	</tr>
	<tr class="odd">
		<td>Observaciones</td>
		<td colspan="3"><textarea id="observacion" rows="4" cols="40"></textarea></td>
	</tr>
	<tr>
		<td>Ticket</td>
		<td><input type="text" id="ticket" name="ticket" /></td>
		<td>Operador Call Center</td>
		<td><input type="text" id="operador" name="operador" size=40 /></td>
	</tr>
	<tr>
		<th colspan="4">Productos</th>
	</tr>
	<tr>
		<td><strong>PRODUCTO</strong></td>
		<td><strong>DESCRIPCION</strong></td>
		<td><strong>ACCION</strong></td>
		<td><strong>CAUSAL</strong></td>
	</tr>
	
	<% for (Producto producto : productos) { %>
		<tr <%= (++fila % 2==0?"class =\"odd\"":"") %> >
			<td><%= producto.getCodigo() %> <input type="hidden" name="producto[]" value="<%= producto.getCodigo()  %>" class="campo_producto" > </td>
			<td><%= producto.getDescripcion() %></td>
			<td>
				<select name="accion[]" class= "select_accion">
					<option value="-1">Seleccionar</option>
					<option value="1">Instalado</option>
					<option value="0">Quiebre</option>
				</select>
			</td>
			<td>
				<select name="causal[]" class="select_causal">
					<option value = "-1">Seleccionar</option>
					<% for (Causal causal : causales) { %>
						<option value = "<%= causal.getCodigo() %>"><%= causal.getDescripcion() %> (<%= causal.getTipo() %>)</option>
					<% } %>
				</select>
			</td>
		</tr>
	
	<% } %>
	
</table>
<input type="button" name="cmd_resolver" value ="Resolver" onclick="Resolver('<%=(String)request.getParameter("codigo") %>','<%= personal %>','<%= orden.getDepartamento() %>')">
<a href="asignadas_instalacion.jsp">Cancelar</a>
</form>
<h2>Registro de materiales</h2>
<input type="button" name="cmd_agregar_material" value ="Agregar Material" onclick="buscar_material('<%= personal %>')"> <input type="button" name="cmd_quitar_material" value="Quitar todos" onclick="javascript:RemoveAll()"><br/>
<div id="materiales"></div>
<h2>Registro de Seriales</h2>
<input type="button" name="cmd_agregar_serial" value ="Agregar Serial" onclick="buscar_serial('<%= personal %>')"> <input type="button" name="cmd_quitar_serial" value="Quitar todos" onclick="javascript:RemoveAllSeriales()"><br/>
<div id="seriales"></div>

<% }else { %>
<strong>Orden de servicio no encontrada</strong>
<% } %>
<% } else { %>
<strong>El usuario no tiene personal asignado, informar al administrador del sistema</strong>
<% } %>
</div>
<%@include file="foot.jsp"%>
</body>
</html>
<%
	conexion.Close();
%>